package com.bw;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;

/**
 * ODS层实体：存储店铺客户原始行为数据，对应文档“原始数据收集”需求（🔶1-107“原始数据分”隐含逻辑）
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class OdsShopCustomerBehavior {
    private String dataDt;          // 数据日期（分区字段，格式yyyyMMdd，文档🔶1-29“统计时间”）
    private String shopId;          // 店铺唯一标识（区分不同店铺客户行为）
    private String customerId;      // 客户唯一标识（追踪客户全行为链路）
    private String behaviorType;    // 行为类型（取值：visit/interact/pay，文档🔶1-31/33）
    private Date behaviorTime;      // 行为发生时间（精确到秒，用于行为有效期判断，🔶1-38）
    private BigDecimal payAmount;   // 支付金额（仅pay行为非空，其他为0，文档🔶1-47“销售额”计算基础）
    private String behaviorExtend;  // 行为扩展字段（存储互动类型如“like/add_cart”，文档🔶1-33）
    private String dataSource;      // 数据来源（APP/H5/小程序，用于数据追溯）
    private Date etlLoadTime;       // ETL加载时间（记录数据进入ODS层时间，用于数据质量监控）
}